The activity of programming of a robot basically consists in teaching the robot the path that a point of its movable structure must repeat automatically in the course of the normal working steps, to execute a certain operation. Said point is typically represented by the so-called “Tool Center Point” (TCP), which identifies in general the position of the active part of the tool mounted on the wrist of the robot, i.e., the part that executes the operation and that is defined by an operator in a convenient way according to the application. For example, in the case of an operation of arc welding, the TCP is located on the tip of the welding torch at the end of the welding wire; in sealing applications, the TCP is instead at a nozzle for outlet of the sealant, whilst, for applications that provides for the use of an electric spot-welding gun, the TCP corresponds to one of the two electrodes or an intermediate point between them.
An industrial robot can then operate at least in an automatic mode and in a manual mode, usually selectable on the control unit of the robot. When the manual mode is selected, for example for the purposes of programming or teaching, the robot can be manuevered via commands imparted by a portable programming device, known as “teach pendant”. Instead, when the automatic-operating mode is selected, the movement of the robot is governed only by the control unit.
The majority of the programming time is dedicated to manual control of the robot, in order to identify the points deemed optimal of the paths of movement of the TCP, and store the corresponding co-ordinates thereof. For this purpose the teach pendant is used, which typically comprises a display and a series of pushbuttons, used for maneuvering and programming the robot. The teach pendant is in general connected to the control unit by means of a long cable that enables the operator to move into the proximity of the working area of the robot, in order to be able to verify accurately the points and paths of the TCP. Also known are teach pendants connected to the control unit of the robot in wireless mode.
For manual control of the variations of the posture of the robot, the operator uses specific pushbuttons of the teach pendant, known as jog pushbuttons or keys, which govern the movement of one or more axes of the robot. By acting on the jog buttons of the teach pendant, the TCP can be moved in a specific positive or negative direction in the range of a reference system selected by the operator from among a plurality of possible reference systems. In an anthropomorphic robot with six degrees of freedom, there are typically envisaged at least the “Joints”, “Base”, and “Tool” reference systems, where the “Joints” system is referenced to the joints of the robot (a vector in said system represents the angular positions of each of the joints), and the “Base” and “Tool” systems are cartesian reference systems, the former being referenced to the base of the robot and the latter to the tool mounted on the flange of the wrist of the robot.
In order to follow the TCP closely and make a visual check on positioning thereof, the operator moves continuously around the robot: by so doing, the operator moves evidently also with respect to the origins of the aforesaid reference systems, and this complicates to a certain extent the activity of programming, also in view of the fact that the operator is each time called upon to select the reference system that he wishes to use.
In order to render the activity of programming of the robot more intuitive, it has also been proposed to equip the robot with a manual guide device, mounted directly on the movable structure of the robot. Known devices of this type, generally based upon the use of a force/torque sensor connected to the control unit of the robot or else to the corresponding teach pendant via wired connection, are inconvenient to install, relatively cumbersome and costly, and their modalities of interfacing to the control system of the robot are frequently complex. These disadvantages also have the consequence of rendering the transferability of the guide device from one robot to another laborious, for example in the cases where a number of robots of one and the same working environment are to be programmed.